1. Field of the Invention
The present invention relates to the field of consumer electronic devices. More specifically, the present invention relates to methods and systems for providing user interfaces for networked electronic devices including remote devices.
2. Related Art
The typical home entertainment system today consists of a variety of different consumer electronic devices which present and record audio/visual media in different ways. In the field of media devices, there is a spectrum of features for products of a given class (VCRs, video camera, etc.). Most of the features are represented by physical controls or elements on a control panel on the device which can be manipulated by a human user.
Recently, a class of consumer electronic media devices has been introduced that can be networked together using a standard communication protocol layer (e.g., IEEE 1394 communication standard). The IEEE 1394 standard is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. The IEEE 1394 standard provides a high-speed serial bus for interconnecting digital devices thereby providing universal input/output connection. The IEEE 1394 standard defines a digital interface for applications thereby eliminating the need for an application to covert digital data to an analog form before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not analog data and will therefore not be required to convert analog data to digital form. The IEEE 1394 is ideal for consumer electronics communication in part because devices can be added to or removed from the serial bus while the bus is active. If a device is so added or removed, the bus automatically reconfigures itself for transmitting data between the then existing devices. Each device on the bus is a xe2x80x9cnodexe2x80x9d and contains its own address space.
The provision of the IEEE 1394 serial communication bus for networking consumer electronic devices has introduced a powerful new platform on which device functionality and inter-operability can be built. For instance, in such a system, complex operations involving media transfers, media recordings and media presentation can be performed that involve two or more devices acting in concert. However, interaction between these devices can be complex, error prone and laborious if it is required that each device be directly touched in order to properly configure the desired operation. The problems associated with properly configuring the media operation can be exacerbated if one or more of the devices are remotely located and/or need constant attention and or adjustment. What is needed is an effective mechanism for interfacing with networked consumer electronic devices to facilitate media operations between two or more devices.
In addition, it is often desired to provide remote control access to the features performed by a consumer electronic device so that these devices can be accessed from a central location within a home or office. However, not all consumer electronic devices are able to provide a sophisticated display system for remote interaction, e.g., some devices offer only a small liquid crystal display (LCD) or a small collection of light emitting diodes (LEDs) as display devices. What is needed is a mechanism for interfacing remotely with devices that provides a sophisticated level of user interaction for many devices. What is needed further is a mechanism for interfacing with electronic devices that is flexible and can adapt to new devices and device types within the consumer electronics market.
Accordingly, the present invention provides an effective mechanism for interfacing with networked consumer electronic devices to facilitate media operations between two ore more devices. The present invention also provides a mechanism for enabling the realization of complicated graphical user interfaces (GUIs), e.g., electronic programming guide (EPG), in a controller device. In addition, the present invention provides a mechanism whereby the target device can enforce certain xe2x80x9clook-and-feelxe2x80x9d of the graphical user interface displayed by the controller device. Specifically, the present invention provides a number of extended elements and mechanisms for panel subunit for accomplishing these goals.
The present invention also provides, in one embodiment, a table GUI element descriptor that defines a table-like on-screen display to be displayed on the controller device. Significantly, the table GUI element descriptor of the present embodiment enables the target device to enforce a particular arrangement of GUI elements displayed by the controller. In addition, the table GUI element descriptor of the present embodiment allows the target device to indicate particular cells of a large table to be displayed. In this way, controller devices with limited capabilities and memory capacities can be used to display a large amount of information one page at a time. The table GUI element descriptor of the present invention further defines the layout of the table, i.e., the size, the number of columns and rows to be displayed, etc.
Embodiments of the present invention also include a method for realizing complex graphical user interface (GUI) in a network having a controller device and a target device. The method includes the steps of: (1) the controller device receiving a table GUI element descriptor from the target device, wherein the table GUI element descriptor defines a matrix that includes vertically and horizontally aligned information, and wherein the table GUI element descriptor further defines an on-screen display for displaying a portion of the matrix; and (2) the controller device displaying the on-screen display according to the table GUI element descriptor.
The present invention provides, in another embodiment, a button GUI element descriptor that defines the appearance of a button element when displayed by a controller. Significantly, the button GUI element descriptor defines one bitmap to be displayed when the button element is out of focus and another bitmap to be displayed when the button element is in focus. In this way, the target would be able to control the focused design of the button.
Embodiments of the present invention include a method for realizing complex graphical user interface (GUI) in a system having a controller device and a target device. The method includes the steps of: (1) the controller device receiving a button GUI element descriptor from the target device, wherein the button GUI element descriptor defines a button element to be displayed and wherein the button GUI element descriptor further defines a first bitmap image to be displayed when the button element is out of focus and a second bitmap image to be displayed when the button element is in focus; and (2) the controller device displaying said button element as part of an on-screen display, wherein the controller device displays the first bitmap image when the button element is out of focus and wherein the controller device displays the second bitmap image when the button element is in focus.
Another embodiment of the present invention provides a panel GUI element descriptor that includes a focused identifier attribute indicating a pre-determined element of the on-screen display as default focus. In this way, the target device would be able to control the default focus of the controller device when displaying an on-screen display.
Embodiments of the present invention include a method for realizing complex graphical user interface (GUI) in a network having a controller device and a target device. The method includes the steps of: (1) the controller device receiving a panel GUI element descriptor from the target device, wherein the panel GUI element descriptor defines an on-screen display that includes a plurality of elements, and wherein the panel GUI element descriptor further includes a focused identifier attribute that indicates a pre-determined one of the plurality of elements as default focus; (2) the controller device displaying the on-screen display according to the panel GUI element descriptor; and (3) the controller device choosing the pre-determined element as focus.
Yet another embodiment of the present invention provides a text GUI element descriptor that includes a font style attribute dictating whether the text GUI element should be displayed as bold, underlined and/or reversed. In this way, the target device would be able to exercise more control over the xe2x80x9clook-and-feelxe2x80x9d of the GUI as displayed by the controller device such that more sophisticated GUIs can be realized.
Embodiments of the present invention also include a method for realizing complex graphical user interface (GUI) in a network having a controller device and a target device, the method comprising steps of: (1) the controller device receiving from a text GUI element descriptor from the target device, wherein the text GUI element descriptor defines a text element to be displayed and wherein the text GUI element descriptor further includes a font style attribute; and (2) the controller device displaying the text element according to the font style attribute.
Embodiments of the present invention are implemented within a network of electronic devices, e.g., digital television (DTV), set-top box (STB), video cassette recorder, compact disk device, personal computer systems, etc., that are coupled together using a standard communication protocol layer, e.g., the IEEE 1394 serial communication standard. The present invention utilizes a panel subunit to allow any compliant device (e.g., a target device) to describe the physical appearance of its controls and displays (e.g., elements) to another device (e.g., an intelligent controller) and allows the intelligent controller to trigger actions on the target device as if a user had physically manipulated the controls on the target device directly. An intelligent controller (e.g., a TV or set-top-box or both) monitors the network to discover the units coupled thereto and is programmed to locate panel subunits that are defined for a target device. The target device may be remotely located.
In general, the panel subunit then provides the intelligent controller with information for rendering a depiction of the controls and displays of the target device and this depiction can be interacted with by a user for remotely triggering actions by the target device. The panel subunit is defined such that command interpretations and image alterations are controlled by the target device thereby reducing the responsibility of the intelligent controller in managing the user interface with generic user events.
The panel subunit uses control objects stored in an object descriptor list to define the physical controls of the target device. The control objects are defined with several standard types of controls and displays (e.g., push buttons, sliders, dials, LCD screens, etc.) that are commonly found on consumer electronic devices. The control types have well defined behaviors (e.g., buttons are pushed, dials are moved, values are input, etc.). In addition, the panel subunit defines a set of commands which are to be applied to any of these controls when selected by the user. The commands are defined to be sufficiently generic so that they apply to most types of controls. The panel subunit also defines generic user interaction commands (or user events) which can be applied to the controls (e.g., press, press and hold, release, input value, etc.) by a user. The purpose of these generic user events is to encapsulate the typical user manipulated action for the controls and to let the target device decide the manner in which to interpret the user actions on its own thereby relieving the intelligent controller of these responsibilities.
A status descriptor of the panel subunit keeps the intelligent controller informed of the status of the target device being manipulated. The status descriptor data structure is dynamic and is maintained up to date by the panel subunit. The intelligent controller examines the status descriptor to update its graphical display to indicate the target device status to the user. A panel status notification command allows the intelligent controller to post a notification request to the target device to indicate when any changes in the state of the target device result in a change in the status descriptor. Related controls of a target device can be grouped together into local groups which the panel subunit allows to be displayed or processed together in special ways.